package com.ykht.proj.coupon.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "优惠券领取记录表")
public class CnCouponLogVo extends Model<CnCouponLogVo> {

	private static final long serialVersionUID = 1L;

	/**
	 *
	 */
	@TableId
	@ApiModelProperty(value="")
	private Long id;
	/**
	 * 优惠券Id
	 */
	@ApiModelProperty(value="优惠券Id")
	private Long couponId;
	@ApiModelProperty(value="订单编号")
	private String couponNumber;

	/**
	 * 优惠券Id
	 */
	@ApiModelProperty(value="优惠券名称")
	private String couponName;
	/**
	 * 领取人Id
	 */
	@ApiModelProperty(value="领取人Id")
	private Long recipientId;
	/**
	 * 领取人电话
	 */
	@ApiModelProperty(value="领取人电话")
	private String phone;
	/**
	 * 领取人姓名
	 */
	@ApiModelProperty(value="领取人姓名")
	private String name;
	/**
	 * 公司ID
	 */
	@ApiModelProperty(value="公司ID")
	private Long companyId;
	/**
	 * 品牌ID
	 */
	@ApiModelProperty(value="品牌ID")
	private Long brandId;
	/**
	 * 品牌id拼接
	 */
	@ApiModelProperty(value="品牌ID")
	private String brandIds;
	/**
	 * 品牌名称
	 */
	@ApiModelProperty(value="品牌名称")
	private String brandName;
	/**
	 * 店铺Id
	 */
	@ApiModelProperty(value="店铺Id")
	private Long shopId;
	/**
	 * 领取日期
	 */
	@ApiModelProperty(value="领取日期")
	private LocalDateTime receiveTime;
	/**
	 * 桌号
	 */
	@ApiModelProperty(value="桌号")
	private Integer tabNum;
	/**
	 * 最低消费金额
	 */
	@ApiModelProperty(value="最低消费金额")
	private BigDecimal lowMoney;
	/**
	 * 消费金额
	 */
	@ApiModelProperty(value="消费金额")
	private BigDecimal cnMoney;
	/**
	 * 应付金额
	 */
	@ApiModelProperty(value="应付金额")
	private BigDecimal payMoney;

	@ApiModelProperty(value="返佣金额")
	private BigDecimal returnMoney;

	@ApiModelProperty(value="分享id")
	private Long shareId;

	@ApiModelProperty(value="审核人")
	private Long checkUser;

	@ApiModelProperty(value="反馈状态0通过1不通过")
	private Integer feedbackStatus;

	@ApiModelProperty(value="反馈内容")
	private String feedbackContent;

	@ApiModelProperty(value="反馈时间")
	private LocalDateTime feedbackTime;

	@ApiModelProperty(value="审核内容")
	private String checkContent;

	@ApiModelProperty(value="审核状态:0通过1不通过")
	private Integer checkStatus;

	@ApiModelProperty(value="审核时间")
	private LocalDateTime checkTime;

	/**
	 * 核销码
	 */
	@ApiModelProperty(value="核销码")
	private String verificationCode;
	/**
	 * 状态0待使用，1已核销
	 */
	@ApiModelProperty(value="状态0待使用，1已核销2过期")
	private Integer status;
	/**
	 * 状态0待使用，1已核销
	 */
	@ApiModelProperty(value="状态0待使用，1已核销")
	private Integer cstatus;
	/**
	 * 核销门店ID
	 */
	@ApiModelProperty(value="核销门店ID")
	private Long verificationShopId;
	/**
	 * 核销门店
	 */
	@ApiModelProperty(value="核销门店")
	private Long verificationShop;
	/**
	 * 核销门店名称
	 */
	@ApiModelProperty(value="核销门店名称")
	private String shopName;
	/**
	 * 核销人
	 */
	@ApiModelProperty(value="核销人")
	private String verificationPerson;
	@ApiModelProperty(value="核销人登录id")
	private Long verificationLoginId;
	@ApiModelProperty(value="核销人登录人名称")
	private String verificationLoginName;
	@ApiModelProperty(value="核销人登录人手机号")
	private String verificationLoginPhone;
	/**
	 * 核销时间
	 */
	@ApiModelProperty(value="核销时间")
	private LocalDateTime verificationTime;
	/**
	 * 创建人
	 */
	@ApiModelProperty(value="创建人")
	private Long createUser;
	/**
	 * 修改人
	 */
	@ApiModelProperty(value="修改人")
	private Long updateUser;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value="创建时间")
	private LocalDateTime createTime;
	/**
	 * 更新时间
	 */
	@ApiModelProperty(value="更新时间")
	private LocalDateTime updateTime;
	/**
	 * 0可用1删除
	 */
	@ApiModelProperty(value="0可用1删除")
	private Integer delFlag;
	/**
	 * 租户ID
	 */
	@ApiModelProperty(value="租户ID",hidden=true)
	private Integer tenantId;
	/**
	 * 条件查询字段
	 */
	@ApiModelProperty(value="领取条查字段")
	private LocalDateTime startTime;
	@ApiModelProperty(value="领取条查字段")
	private LocalDateTime endTime;
	@ApiModelProperty(value="核销条查字段")
	private LocalDateTime startDate;
	@ApiModelProperty(value="核销条查字段")
	private LocalDateTime endDate;
	@ApiModelProperty(value="电话或者名字")
	private String nameOrphone;
	/**
	 * 优惠券生效时间
	 */
	@ApiModelProperty(value="优惠券生效时间")
	private LocalDateTime effectiveeStaTime;
	/**
	 * 优惠券结束时间
	 */
	@ApiModelProperty(value="优惠券结束时间")
	private LocalDateTime effectiveeEndTime;
	/**
	 * 有效天数
	 */
	@ApiModelProperty(value="有效天数")
	private Integer effectiveeDay;
	/**
	 * 使用规则
	 */
	@ApiModelProperty(value="使用规则")
	private String usageRules;
	/**
	 * 优惠券类型0无门槛1满减
	 */
	@ApiModelProperty(value="优惠券类型0无门槛1满减")
	private Integer couponType;
	/**
	 * 0领取记录1核销记录
	 */
	@ApiModelProperty(value="0领取记录1核销记录")
	private Integer findType;
	/**
	 * 有效期展示字段
	 */
	@ApiModelProperty(value="有效期展示字段",hidden=true)
	private String validity;
	/**
	 * 0领取后N天内有效1时间段
	 */
	@ApiModelProperty(value="0领取后N天内有效1时间段")
	private Integer dateType;


	@ApiModelProperty(value="饭友id")
	private Long fyId;
	@ApiModelProperty(value="服务员id")
	private Long waiterId;
	@ApiModelProperty(value="文章id")
	private Long articleId;
	@ApiModelProperty(value="核销后给服务员的报酬")
	private Double rewardMoney;
	/**
	 * 状核销类型  1 服务员  2 门店
	 */
	@ApiModelProperty(value="核销类型  1 服务员  2 门店")
	private Integer verificationType;
	/**
		用户头像
	 */
	@ApiModelProperty(value="用户头像")
	private String headPortrait;

	@ApiModelProperty(value="服务员id集合")
	private List<Long> waiterIdList;
	/**
	 * 登录角色类型  0系统管理员 1公司 2品牌 3门店 4服务员
	 */
	@ApiModelProperty(value="登录角色类型 0系统管理员 1公司 2品牌 3门店 4服务员")
	private Integer loginRoleType;

	@ApiModelProperty(value="反馈开始时间")
	private LocalDateTime feedbackStaTime;

	@ApiModelProperty(value="反馈结束时间")
	private LocalDateTime feedbackEndTime;

	@ApiModelProperty(value="核销人名称")
	private String verificationPersonName;
	@ApiModelProperty(value="核销人电话")
	private String verificationPersonPhone;

	@ApiModelProperty(value="减免金额")
	private BigDecimal reductionMoney;

	@ApiModelProperty(value="C端客户名称")
	private Long personName;

	@ApiModelProperty(value="C端客户手机")
	private Long personPhone;

	@ApiModelProperty(value="核销门店ID")
	private Long shopLoginId;

	@ApiModelProperty(value="核销服务员ID")
	private Long waiterLoginId;

	@ApiModelProperty(value="审核人名称")
	private String checkUserName;
	@ApiModelProperty(value="分销状态0待反馈1待审核2无效驳回")
	private String fxStatus;

}
